# To jest komentarz. Komentarze rozpoczynamy znakiem #
## tak oznaczane będą wyniki wykonanych poleceń1 Podstawy pracy z programem R
Martyna Kosińska
1.1 📘 Początek pracy z programem R
1.1.1 Wypisanie liczb od 1 do 10 z odstępem co 1
1:10 [1] 1 2 3 4 5 6 7 8 9 10
# Ctrl+R - wykonanie kodu z edytora R1.1.2 Pomoc w programie R (przykład)
?ploturuchamianie serwera httpd dla pomocy ... wykonano
1.1.3 ❕ Załadowanie pakietu ggplot2
# install.packages("ggplot2")
# można też zapisać
# install.packages('ggplot2')
library(ggplot2)Warning: pakiet 'ggplot2' został zbudowany w wersji R 4.2.3
# ls('package:ggplot2')1.1.4 R jako kalukulator
2+2[1] 4
20-2[1] 18
6*7[1] 42
30/5 [1] 6
# 30\5 błąd, bo ukośnik jest w przeciwną stronę
2^5[1] 32
sqrt(4)[1] 2
log(12)[1] 2.484907
log(16,2)[1] 4
pi[1] 3.141593
sin(pi)[1] 1.224606e-16
1.1.5 Symbol Newtona
choose(4,1)[1] 4
1.1.6 Zaokrglenia liczb
round(2.4347247)[1] 2
round(2.55)[1] 3
round(2.4347247,digits=2)[1] 2.43
1.1.7 Przypisywanie wartości do zmiennych
x=7
x[1] 7
print(x)[1] 7
y<-10
y[1] 10
z=x*y
z[1] 70
z=x+y
z[1] 17
x;y;z[1] 7
[1] 10
[1] 17
1.1.8 Lista nazw zmiennych
ls()[1] "x" "y" "z"
rm(z)
ls()[1] "x" "y"
rm(list=ls())
ls()character(0)
1.2 📘 Typy obiektów
1.2.1 Typ liczbowy
n1=2.4535
n1[1] 2.4535
print(n1,3) #wyświetlenie 3 cyfr znaczących (ostatni element jest zaokrąglany)[1] 2.45
round(n1,3)[1] 2.454
1.2.2 Typ znakowy
t1="Patrycja"
t1[1] "Patrycja"
t2='Dawid'
t2[1] "Dawid"
print(t2,quote=FALSE)[1] Dawid
t3="to jest pies"
sub("pies","kot",t3)[1] "to jest kot"
paste(t1,"i",t2)[1] "Patrycja i Dawid"
substr(t3,9,12) #wyodrębnianie tekstu - od 9 znaku do 12[1] "pies"
1.2.3 Typ logiczny
l1=TRUE
l2=T
l3=FALSE
F[1] FALSE
1.3 📘 Operatory logiczne
1.3.1 Alternatywa (lub)
l1|l3[1] TRUE
1.3.2 Koniunkcja (i)
l1&l3[1] FALSE
1.3.3 Zaprzeczenie
!l1[1] FALSE
1.3.4 Wybrane operacje logiczne
1==1[1] TRUE
2>3[1] FALSE
25<=25[1] TRUE
23>=7[1] TRUE
(12>2)&(15==12)[1] FALSE
(sqrt(159)==13)&(7^5>252)[1] FALSE
1.4 📘 Klasy obiektów
class(t1)[1] "character"
class(n1)[1] "numeric"
identical(t1,n1)[1] FALSE
ls()[1] "l1" "l2" "l3" "n1" "t1" "t2" "t3"
ls.str()l1 : logi TRUE
l2 : logi TRUE
l3 : logi FALSE
n1 : num 2.45
t1 : chr "Patrycja"
t2 : chr "Dawid"
t3 : chr "to jest pies"
is.logical(t1)[1] FALSE
is.numeric(t1)[1] FALSE
is.character(t1)[1] TRUE
is.matrix(t1)[1] FALSE
1.5 📘 Wektory
w1=c(10,9,8,7,6,5)
w1[1] 10 9 8 7 6 5
w2=c(T,T,F,F)
w2[1] TRUE TRUE FALSE FALSE
w3=c("Dawid","Wojtek","Robert","Kuba","Klaudia","Luiza")
w3[1] "Dawid" "Wojtek" "Robert" "Kuba" "Klaudia" "Luiza"
1:10 [1] 1 2 3 4 5 6 7 8 9 10
10:1 [1] 10 9 8 7 6 5 4 3 2 1
1.2:20.2 [1] 1.2 2.2 3.2 4.2 5.2 6.2 7.2 8.2 9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2 20.2
1.2:20.3 [1] 1.2 2.2 3.2 4.2 5.2 6.2 7.2 8.2 9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2 20.2
1.2:20.1 [1] 1.2 2.2 3.2 4.2 5.2 6.2 7.2 8.2 9.2 10.2 11.2 12.2 13.2 14.2 15.2
[16] 16.2 17.2 18.2 19.2
# ?seq
seq(16,30,3)[1] 16 19 22 25 28
seq(to=30,by=3,from=16)[1] 16 19 22 25 28
w4=seq(to=30,from=16,3)
w4[1] 16 19 22 25 28
w5=c(23,23,1,2,3,1)
ls() [1] "l1" "l2" "l3" "n1" "t1" "t2" "t3" "w1" "w2" "w3" "w4" "w5"
# w1 + w3
w1;w3[1] 10 9 8 7 6 5
[1] "Dawid" "Wojtek" "Robert" "Kuba" "Klaudia" "Luiza"
w1+w5[1] 33 32 9 9 9 6
w1*w5[1] 230 207 8 14 18 5
w6=seq(7,10,length=10)
w6 [1] 7.000000 7.333333 7.666667 8.000000 8.333333 8.666667 9.000000
[8] 9.333333 9.666667 10.000000
length(w6)[1] 10
any(w6<0)[1] FALSE
any(w6>0)[1] TRUE
w6>0 [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
all(w1==w3)[1] FALSE